//Define a grammar called Hello
grammar Antlr4Test;
//ID : [a-z]+;
//r : 'hello' ID; // match keyword hello followed by an identifier
////ID : [a-z]+; // match lower-case identifiers
//WS : [ \t\r\n]+ -> skip; // skip spaces, tabs, newlines

// 输入：HI antlr
start : HI ID;
HI : 'HI'; // HI词法 和 ID语法 换一下位置就会出错，因为均会被ID给匹配了
//ID : ~[a-zA-Z05]+;
ID: [a-zA-Z05]+;

WS : [\t\r\n ]+->skip;  //skip spaces,tabs,newlines,\r(Windows)


string: STRING;

STRING: '"' (ESC|.)*?'"' ;

fragment

ESC : '\\"' | '\\\\' ; // 2-char sequences \" and \\
LINE_COMMENT  : '//' .*? '\r'? '\n' -> skip ; // Match"//" stuff '\n'
// 词法分析器通过“->”操作符来接收命令，skip只是诸多命令中的一种。例如，我们还可以通过channel命令将这些符号传递给语法分析器的“隐藏通道”。
COMMENT       : '/*' .*? '*/' ->skip ;       // Match "/*" stuff "*/"
//WS : [ \t\r\n]+ -> skip ; // match 1-or-more whitespace but discard
